package com.ruoyi.personnel.oa.attendance.service;

import com.ruoyi.personnel.management.staff.domain.Staff;
import com.ruoyi.personnel.oa.attendance.domain.Attendance;
import com.ruoyi.personnel.oa.attendance.domain.AttendanceCond;
import com.ruoyi.personnel.oa.attendance.domain.StaffAttendance;

import java.util.List;

/**
 * 业务层接口
 */
public interface IAttendanceService {
    /**
     * 根据搜索条件所有考勤记录
     * @param cond 搜索条件
     * @return
     */
    List<Attendance> selectAttendanceList(AttendanceCond cond);

    /**
     * 查看所有员工的打卡状态
     * @return
     */
    List<StaffAttendance> selectStaffAttendanceList(Staff staff);

    /**
     * 根据编号搜索具体的考勤记录
     * @param staffId 编号
     * @return
     */
    boolean selectAttendanceById(String staffId, String clockTime);

    /**
     * 新增考勤
     * @param attendance
     * @return
     */
    int insertAttendance(Attendance attendance);

    /**
     * 删除考勤
     * 仅修改删除标志
     * @param attendance
     * @return
     */
    int updateAttendanceDeleteFlag(Attendance attendance);
}
